package alm.motiv.AlmendeMotivator; import alm.motiv.AlmendeMotivator.models.Baseline; import alm.motiv.AlmendeMotivator.models.User; import android.app.Activity; import android.app.ProgressDialog; import android.content.Intent; import android.content.SharedPreferences; import android.os.AsyncTask; import android.os.Bundle; import android.view.View; import android.widget.*; import com.google.analytics.tracking.android.EasyTracker; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.MongoClient; /** * Created by AsterLaptop on 4/23/14. */ public class FirstUseActivity extends Activity { private static String PREFS_NAME = "sportopiaprefs"; private SharedPreferences settings; private SharedPreferences.Editor editor; private Baseline baseline = new Baseline(); //views private EditText hours; private Spinner period; private EditText motivation1; private EditText motivation2; private EditText motivation3; private EditText motivation4; private Spinner partOfTheDay; private Spinner gender; private EditText reasonsNotToExercise; private EditText email; private Spinner living; private Spinner company; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_firstuse); settings = getSharedPreferences(PREFS_NAME, 0); editor = settings.edit(); //views hours = (EditText) findViewById(R.id.hoursInput); motivation1 = (EditText) findViewById(R.id.motivationReason1); motivation2 = (EditText) findViewById(R.id.motivationReason2); motivation3 = (EditText) findViewById(R.id.motivationReason3); motivation4 = (EditText) findViewById(R.id.motivationReason4); partOfTheDay = (Spinner) findViewById(R.id.spPartOfTheDay); gender = (Spinner) findViewById(R.id.spGender); living = (Spinner) findViewById(R.id.spLiving); company = (Spinner) findViewById(R.id.spCompany); reasonsNotToExercise = (EditText) findViewById(R.id.reasonsNoToSport); email = (EditText) findViewById(R.id.email); } public void onSubmitFirstUsePressed(View v) { if (validation() && Cookie.getInstance().internet) { baseline.setHours(hours.getText().toString()); baseline.setPartOfTheDay(partOfTheDay.getSelectedItem().toString()); baseline.setMotivations(motivation1.getText().toString(), motivation2.getText().toString(), motivation3.getText().toString(), motivation4.getText().toString()); baseline.setCompany(company.getSelectedItem().toString()); baseline.setLiving(living.getSelectedItem().toString()); baseline.setGender(gender.getSelectedItem().toString()); baseline.setReasonsNotToSport(reasonsNotToExercise.getText().toString()); baseline.setEmail(email.getText().toString()); new DatabaseThread().execute(); } else { Toast.makeText(getApplicationContext(), "Not everything has been filled in correctly.", Toast.LENGTH_SHORT).show(); } } @Override public void onStart() { super.onStart(); //google analytics EasyTracker.getInstance(this).activityStart(this); // Add this method. } @Override public void onStop() { super.onStop(); //google analytics EasyTracker.getInstance(this).activityStop(this); // Add this method. } //for validation private boolean validation() { boolean succes = true; if (!Validation.isNumericWithoutLimitations(hours, true)) succes = false; if (!Validation.hasText(motivation1)) succes = false; if (!Validation.hasText(motivation2)) succes = false; //if (!Validation.hasText(reasonsNotToExercise)) succes = false; if (!Validation.hasText(email)) succes = false; return succes; } @Override public void onBackPressed() { //Override so people can't cancel this process } class DatabaseThread extends AsyncTask<String, String, String> { private ProgressDialog simpleWaitDialog; @Override protected void onPreExecute() { simpleWaitDialog = ProgressDialog.show(FirstUseActivity.this, "Please wait", "Processing"); } protected void onPostExecute(String result) { try { simpleWaitDialog.dismiss(); simpleWaitDialog = null; } catch (Exception e) { // nothing } Intent newIntent = new Intent(FirstUseActivity.this, FollowFriendActivity.class); startActivity(newIntent); finish(); editor.putBoolean("firstUse", true); editor.commit(); } @Override protected String doInBackground(String... strings) { if (Cookie.getInstance().internet) { try { MongoClient client = Database.getInstance(); DB db = client.getDB(Database.uri.getDatabase()); DBCollection userCollection = db.getCollection("user"); userCollection.setObjectClass(User.class); User match = new User(); match.put("facebookID", Cookie.getInstance().userEntryId); User update = (User) userCollection.findOne(match); update.put("nulmeting", baseline); userCollection.update(match, update); } catch (Exception e) { System.out.println(e); } } return null; } } }